package com.wmh.baseservice.robot.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 机器人任务报表
 * @author 谢骏
 * @TableName robot_task_statement
 * @createDate 2023-06-30 16:03:00
 */
@Data
@Accessors(chain = true)
@TableName("robot_task_statement")
public class RobotTaskStatement implements Serializable {

    /**
     * 
     */
    @TableId(value = COL_ID ,type = IdType.NONE)
    private Long id;

    /**
     * 管理员id
     */
    @TableField(value = COL_AD_ID)
    private Long adId;

    /**
     * 任务id
     */
    @TableField(value = COL_TASK_ID)
    private Long taskId;

    /**
     * 任务模板id
     */
    @TableField(value = COL_TASK_TEMPLATE_ID)
    private Long taskTemplateId;

    /**
     * 任务模板名称
     */
    @TableField(value = COL_TASK_TEMPLATE_NAME)
    private String taskTemplateName;

    /**
     * 机器编号
     */
    @TableField(value = COL_ROBOT_NUMBER)
    private Long robotNumber;

    /**
     * 机器ip
     */
    @TableField(value = COL_ROBOT_IP)
    private String robotIp;

    /**
     * 任务名称
     */
    @TableField(value = COL_TASK_NAME)
    private String taskName;

    /**
     * 任务日志 base64
     */
    @TableField(value = COL_TASK_LOG_BASE64)
    private String taskLogBase64;

    /**
     * 任务附件 base64
     */
    @TableField(value = COL_TASK_FILE_BASE64)
    private String taskFileBase64;

    /**
     * 任务附件 后缀
     */
    @TableField(value = COL_TASK_FILE_SUFFIX)
    private String taskFileSuffix;

    /**
     * 任务状态 0:未开始 1:执行中 2:已结束 3:已失败
     */
    @TableField(value = COL_TASK_STATUS)
    private Integer taskStatus;

    /**
     * 错误信息
     */
    @TableField(value = COL_ERR_MSG)
    private String errMsg;

    /**
     * 创建时间
     */
    @TableField(value = COL_CREATE_TIME)
    private LocalDateTime createTime;

    /**
     * 修改时间
     */
    @TableField(value = COL_UPDATE_TIME)
    private LocalDateTime updateTime;


    /**
     * 
     */
    public static final String COL_ID = "id";

    /**
     * 管理员id
     */
    public static final String COL_AD_ID = "ad_id";

    /**
     * 任务id
     */
    public static final String COL_TASK_ID = "task_id";

    /**
     * 任务模板id
     */
    public static final String COL_TASK_TEMPLATE_ID = "task_template_id";

    /**
     * 任务模板名称
     */
    public static final String COL_TASK_TEMPLATE_NAME = "task_template_name";

    /**
     * 机器编号
     */
    public static final String COL_ROBOT_NUMBER = "robot_number";

    /**
     * 机器ip
     */
    public static final String COL_ROBOT_IP = "robot_ip";

    /**
     * 任务名称
     */
    public static final String COL_TASK_NAME = "task_name";

    /**
     * 任务日志 base64
     */
    public static final String COL_TASK_LOG_BASE64 = "task_log_base64";

    /**
     * 任务附件 base64
     */
    public static final String COL_TASK_FILE_BASE64 = "task_file_base64";

    /**
     * 任务附件 后缀
     */
    public static final String COL_TASK_FILE_SUFFIX = "task_file_suffix";

    /**
     * 任务状态 0:未开始 1:执行中 2:已结束 3:已失败
     */
    public static final String COL_TASK_STATUS = "task_status";

    /**
     * 错误信息
     */
    public static final String COL_ERR_MSG = "err_msg";

    /**
     * 创建时间
     */
    public static final String COL_CREATE_TIME = "create_time";

    /**
     * 修改时间
     */
    public static final String COL_UPDATE_TIME = "update_time";

    @TableField(exist = false)
    static final long serialVersionUID = 1L;
}
